home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / mac / DirectX SDK / DXSDK / include / DShowIDL / Mstvgs.idl < prev    next >
Text File  |  2001-10-08  |  44KB  |  821 lines

  1. //------------------------------------------------------------------------------
  2. // File: GuideStore.idl
  3. //
  4. // Desc: IDL source for GuideStore.dll.
  5. //
  6. // Copyright (c) 1999-2001, Microsoft Corporation.  All rights reserved.
  7. //------------------------------------------------------------------------------
  8.  
  9. // This file will be processed by the MIDL tool to
  10. // produce the type library (GuideStore.tlb) and marshalling code.
  11.  
  12. import "oaidl.idl";
  13. import "ocidl.idl";
  14.  
  15. interface IObjects;
  16. interface IMetaProperties;
  17. interface IMetaProperty;
  18. interface IMetaPropertyCondition;
  19. interface IMetaPropertySet;
  20. interface IMetaPropertySets;
  21. interface IMetaPropertyType;
  22. interface IMetaPropertyTypes;
  23.  
  24. interface IGuideStore;
  25. interface IService;
  26. interface IServices;
  27. interface IProgram;
  28. interface IPrograms;
  29. interface IScheduleEntry;
  30. interface IScheduleEntries;
  31. interface IChannel;
  32. interface IChannels;
  33. interface IChannelLineup;
  34. interface IChannelLineups;
  35. interface IGuideDataProvider;
  36. interface IGuideDataProviders;
  37.  
  38. #define didAdd                       10
  39. #define didAddAt                     15
  40. #define didAddNew                    20
  41. #define didAddNewAt                  25
  42. #define didAnd                       30
  43. #define didBeginTrans                35
  44. #define didChannelLineups            40
  45. #define didChannels                  50
  46. #define didCommitTrans               55
  47. #define didCond                      60
  48. #define didCopyrightDate             70
  49. #define didCount                     80
  50. #define didDataEndTime               90
  51. #define didDefaultValue             100
  52. #define didDescription              110
  53. #define didEndTime                  120
  54. #define didGuideDataProvider        135
  55. #define didGuideDataProviders       136
  56. #define didID                       150
  57. #define didIdOf                     155
  58. #define didIID                      170
  59. #define didIsAnyDataAvailable       180
  60. #define didInit                     190
  61. #define didItem                     DISPID_VALUE
  62. #define didItemAdded                195
  63. #define didItemChanged              196
  64. #define didItemRemoved              197
  65. #define didItemsByKey               198
  66. #define didItemsChanged             199
  67. #define didItemsInTimeRange         200
  68. #define didItemsWithCond            210
  69. #define didItemWithKey              215
  70. #define didItemsWithMetaProp        220
  71. #define didItemsWithMetaPropType    230
  72. #define didItemsWithService         240
  73. #define didItemsWithType            400
  74. #define didItemWithID               250
  75. #define didItemWithIID              260
  76. #define didItemWithName             270
  77. #define didItemWithMetaPropTypeLang     280
  78. #define didItemWithTypeProviderLang     285
  79. #define didItemWithProviderName     290
  80. #define didItemWithServiceAtTime    300
  81. #define didLanguage                 310
  82. #define didLength                   320
  83. #define didLookup                   325
  84. #define didMax                      330
  85. #define didMin                      340
  86. #define didName                     350
  87. #define didNew                      360
  88. #define didNewCollection            370
  89. #define didNot                      380
  90. #define didObjects                  390
  91. #define didObjectTypes              410
  92. #define didOpen                     420
  93. #define didOr                       430
  94. #define didProgram                  440
  95. #define didPrograms                 450
  96. #define didRollbackTrans            455
  97. #define didMetaProperties           460
  98. #define didMetaPropertiesOf         465
  99. #define didMetaPropertySet          470
  100. #define didMetaPropertySets         480
  101. #define didMetaPropertyType         490
  102. #define didMetaPropertyTypes        500
  103. #define didProviderDescription      510
  104. #define didProviderName             520
  105. #define didProviderNetworkName      530
  106. #define didResync                   535
  107. #define didItemInvRelBy             540
  108. #define didItemsInvRelBy            545
  109. #define didItemsInvRelToBy          546
  110. #define didItemRelBy                550
  111. #define didItemsRelBy               555
  112. #define didItemsRelToBy             556
  113. #define didRemove                   560
  114. #define didRemoveAll                565
  115. #define didSchedEntries             570
  116. #define didService                  580
  117. #define didServices                 590
  118. #define didStartTime                600
  119. #define didTitle                    620
  120. #define didType                     630
  121. #define didTuneRequest              640
  122. #define didUnreferencedItems        650
  123. #define didValue                    DISPID_VALUE
  124.  
  125.  
  126. [
  127.     uuid(8D9EEDCE-21E9-4845-82A8-99CEC53E6DB2),
  128.     version(1.0),
  129.     helpstring("Microsoft TV GuideStore 1.0 Type Library")
  130. ]
  131. library MSTVGS
  132. {
  133.     importlib("stdole2.tlb");
  134.     [
  135.         object,
  136.         uuid(F71020D2-A467-4EB7-839A-63C8F40C7AB4),
  137.         dual,
  138.         helpstring("IMetaPropertySet Interface"),
  139.         pointer_default(unique)
  140.     ]
  141.     interface IMetaPropertySet : IDispatch
  142.     {
  143.         [propget, id(didName), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
  144.         [propget, id(didMetaPropertyTypes), helpstring("property MetaPropertyTypes")] HRESULT MetaPropertyTypes([out, retval] IMetaPropertyTypes* *pVal);
  145.     };
  146.     [
  147.         object,
  148.         uuid(E8FD768C-EC4E-4DAB-A09C-011E8ECAE4D2),
  149.         dual,
  150.         helpstring("IMetaPropertySets Interface"),
  151.         pointer_default(unique),
  152.         nonextensible
  153.     ]
  154.     interface IMetaPropertySets : IDispatch
  155.     {
  156.         [propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT index, [out, retval] IMetaPropertySet* *ppropset);
  157.         [propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  158.         [propget, id(didItemWithName), helpstring("property ItemWithName")] HRESULT ItemWithName(BSTR bstrName, [out, retval] IMetaPropertySet* *ppropset);
  159.         [propget, id(didAddNew), helpstring("property AddNew")] HRESULT AddNew(BSTR bstrName, [out, retval] IMetaPropertySet **pppropset);
  160.         [propget, id(didLookup), helpstring("property Lookup")] HRESULT Lookup([in] BSTR bstr, [out, retval] IMetaPropertyType * *ppproptype);
  161.     };
  162.     [
  163.         object,
  164.         uuid(86502400-213B-4ADF-A1E2-76365E7172BD),
  165.         dual,
  166.         helpstring("IMetaPropertyType Interface"),
  167.         pointer_default(unique)
  168.     ]
  169.     interface IMetaPropertyType : IDispatch
  170.     {
  171.         [propget, id(didMetaPropertySet), helpstring("property MetaPropertySet")] HRESULT MetaPropertySet([out, retval] IMetaPropertySet* *ppropset);
  172.         [propget, id(didID), helpstring("property ID")] HRESULT ID([out, retval] long *pVal);
  173.         [propget, id(didName), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
  174.         [propget, id(didNew), helpstring("property New")] HRESULT New(long lang, VARIANT val, [out, retval] IMetaProperty* *pprop);
  175.         [propget, id(didCond), helpstring("property Cond")] HRESULT Cond(BSTR bstrCond, long lang, VARIANT varValue, [out, retval] IMetaPropertyCondition* *ppropcond);
  176.     };
  177.     [
  178.         object,
  179.         uuid(9BF4984A-4CFE-4588-9FCF-828C74EF7104),
  180.         dual,
  181.         helpstring("IMetaPropertyTypes Interface"),
  182.         pointer_default(unique)
  183.     ]
  184.     interface IMetaPropertyTypes : IDispatch
  185.     {
  186.         [propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT index, [out, retval] IMetaPropertyType* *pproptype);
  187.         [propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  188.         [propget, id(didItemWithID), helpstring("property ItemWithID")] HRESULT ItemWithID(long id, [out, retval] IMetaPropertyType* *pproptype);
  189.         [propget, id(didItemWithName), helpstring("property ItemWithName")] HRESULT ItemWithName(BSTR bstrName, [out, retval] IMetaPropertyType* *pproptype);
  190.         [propget, id(didAddNew), helpstring("property AddNew")] HRESULT AddNew(long id, BSTR bstrName, [out, retval] IMetaPropertyType * *pVal);
  191.         [propget, id(didMetaPropertySet), helpstring("property MetaPropertySet")] HRESULT MetaPropertySet([out, retval] IMetaPropertySet * *pVal);
  192.     };
  193.     [
  194.         object,
  195.         uuid(A4BBD2C0-D7E4-4FC2-8FB0-176DDBCB3D72),
  196.         dual,
  197.         helpstring("IMetaProperty Interface"),
  198.         pointer_default(unique)
  199.     ]
  200.     interface IMetaProperty : IDispatch
  201.     {
  202.         [propget, id(didMetaPropertyType), helpstring("property MetaPropertyType")] HRESULT MetaPropertyType([out, retval] IMetaPropertyType* *pproptype);
  203.         [propget, id(didLanguage), helpstring("property Language")] HRESULT Language([out, retval] long *pVal);
  204.         [propget, id(didGuideDataProvider), helpstring("property GuideDataProvider")] HRESULT GuideDataProvider([out, retval] IGuideDataProvider **ppprovider);
  205.         [propget, id(didValue), helpstring("property Value")] HRESULT Value([out, retval] VARIANT *pvarValue);
  206.         [propput, id(didValue), helpstring("property Value")] HRESULT Value([in] VARIANT varValue);
  207.         [propputref, id(didValue), helpstring("property Value")] HRESULT Value([in] IUnknown *punk);
  208.         [propget, id(didCond), helpstring("property Cond")] HRESULT Cond(BSTR bstrCond, [out, retval] IMetaPropertyCondition* *ppropcond);
  209.     };
  210.     [
  211.         object,
  212.         uuid(E7F78F69-8326-48A0-8E54-BBDCEE43BA70),
  213.         dual,
  214.         helpstring("IMetaProperties Interface"),
  215.         pointer_default(unique)
  216.     ]
  217.     interface IMetaProperties : IDispatch
  218.     {
  219.         [propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT index, [out, retval] IMetaProperty* *pprop);
  220.         [propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  221.         [propget, id(didItemWithMetaPropTypeLang), helpstring("property ItemWith")] HRESULT ItemWith(IMetaPropertyType *ptype, long lang, [out, retval] IMetaProperty* *pprop);
  222.         [propget, id(didItemWithTypeProviderLang), helpstring("property ItemWithTypeProviderLang")] HRESULT ItemWithTypeProviderLang(IMetaPropertyType *ptype, IGuideDataProvider *pprovider, long lang, [out, retval] IMetaProperty* *pprop);
  223.         [propget, id(didItemsWithMetaPropType), helpstring("property ItemsWithMetaPropertyType")] HRESULT ItemsWithMetaPropertyType(IMetaPropertyType *ptype, [out, retval] IMetaProperties* *pprops);
  224.         [propget, id(didAddNew), helpstring("property AddNew")] HRESULT AddNew(IMetaPropertyType *pproptype, long lang, VARIANT varValue, [out, retval] IMetaProperty * *pVal);
  225.         [id(didAdd), helpstring("method Add")] HRESULT Add(IMetaProperty *pprop);
  226.     };
  227.     [
  228.         object,
  229.         uuid(98FAAEF5-397A-4372-93A3-FB3DA49B3EF1),
  230.         dual,
  231.         helpstring("IMetaPropertyCondition Interface"),
  232.         pointer_default(unique)
  233.     ]
  234.     interface IMetaPropertyCondition : IDispatch
  235.     {
  236.         [propget, id(didAnd), helpstring("property And")] HRESULT And(IMetaPropertyCondition *pcond2, [out, retval] IMetaPropertyCondition* *ppropcond);
  237.         [propget, id(didOr), helpstring("property Or")] HRESULT Or(IMetaPropertyCondition *pcond2, [out, retval] IMetaPropertyCondition* *ppropcond);
  238.     };
  239.     [
  240.         object,
  241.         uuid(E4A9F7DA-F38F-43D3-AB3B-7E9F9FB7A7C7),
  242.         dual,
  243.         helpstring("IGuideStore Interface"),
  244.         pointer_default(unique)
  245.     ]
  246.     interface IGuideStore : IDispatch
  247.     {
  248.         [propget, id(didIID), helpstring("property UUID")] HRESULT UUID([out, retval] BSTR  *bstrUUID);
  249.         [propget, id(didServices), helpstring("property Services")] HRESULT Services([out, retval] IServices * *pVal);
  250.         [propget, id(didPrograms), helpstring("property Programs")] HRESULT Programs([out, retval] IPrograms * *pVal);
  251.         [propget, id(didSchedEntries), helpstring("property ScheduleEntries")] HRESULT ScheduleEntries([out, retval] IScheduleEntries * *pVal);
  252.         [propget, id(didGuideDataProviders), helpstring("property GuideDataProviders")] HRESULT GuideDataProviders([out, retval] IGuideDataProviders * *ppdataproviders);
  253.         [propget, id(didMetaPropertySets), helpstring("property MetaPropertySets")] HRESULT MetaPropertySets([out, retval] IMetaPropertySets **pppropsets);
  254.         [id(didOpen), helpstring("method Open")] HRESULT Open(BSTR bstrName);
  255.         [propget, id(didObjects), helpstring("property Objects")] HRESULT Objects([out, retval] IObjects * *ppobjs);
  256.         [propget, id(didChannels), helpstring("property Channels")] HRESULT Channels([out, retval] IChannels * *pVal);
  257.         [propget, id(didChannelLineups), helpstring("property ChannelLineups")] HRESULT ChannelLineups([out, retval] IChannelLineups * *pVal);
  258.         [propget, id(didGuideDataProvider), helpstring("property ActiveGuideDataProvider")] HRESULT ActiveGuideDataProvider([out, retval] IGuideDataProvider * *pVal);
  259.         [propputref, id(didGuideDataProvider), helpstring("property ActiveGuideDataProvider")] HRESULT ActiveGuideDataProvider([in] IGuideDataProvider * newVal);
  260.  
  261.  
  262.         [propget, id(didIdOf), helpstring("property IdOf")] HRESULT IdOf([in] IUnknown *punk, [out, retval] long *pVal);
  263.         [propget, id(didMetaPropertiesOf), helpstring("property MetaPropertiesOf")] HRESULT MetaPropertiesOf([in] IUnknown *punk, [out, retval] IMetaProperties **ppprops);
  264.  
  265.         [id(didBeginTrans), helpstring("method BeginTrans")] HRESULT BeginTrans();
  266.         [id(didCommitTrans), helpstring("method CommitTrans")] HRESULT CommitTrans();
  267.         [id(didRollbackTrans), helpstring("method RollbackTrans")] HRESULT RollbackTrans();
  268.     };
  269.  
  270.     [
  271.         uuid(E7267FA2-7EC0-4577-BE37-0BBF11028A56),
  272.         helpstring("MetaPropertySet Class")
  273.     ]
  274.     coclass MetaPropertySet
  275.     {
  276.         [default] interface IMetaPropertySet;
  277.     };
  278.     [
  279.         uuid(027D8BB9-B860-4B96-B498-7EA609F33250),
  280.         helpstring("MetaPropertySets Class")
  281.     ]
  282.     coclass MetaPropertySets
  283.     {
  284.         [default] interface IMetaPropertySets;
  285.     };
  286.     [
  287.         uuid(A09139F3-47ED-4492-A45E-F7F11B121F4F),
  288.         helpstring("MetaPropertyType Class")
  289.     ]
  290.     coclass MetaPropertyType
  291.     {
  292.         [default] interface IMetaPropertyType;
  293.     };
  294.     [
  295.         uuid(5F24A17F-1DDE-4F37-8B29-489229175C73),
  296.         helpstring("MetaPropertyTypes Class")
  297.     ]
  298.     coclass MetaPropertyTypes
  299.     {
  300.         [default] interface IMetaPropertyTypes;
  301.     };
  302.     [
  303.         uuid(A42A1FF3-BC43-4714-8B94-06103474372B),
  304.         helpstring("MetaProperty Class")
  305.     ]
  306.     coclass MetaProperty
  307.     {
  308.         [default] interface IMetaProperty;
  309.     };
  310.     [
  311.         uuid(78B8FA05-01B2-4B0A-B6E0-59FC6C0E7A5E),
  312.         helpstring("MetaProperties Class")
  313.     ]
  314.     coclass MetaProperties
  315.     {
  316.         [default] interface IMetaProperties;
  317.     };
  318.     [
  319.         uuid(3B575572-EC9F-447D-9554-17C6E92E8328),
  320.         helpstring("MetaPropertyCondition Class")
  321.     ]
  322.     coclass MetaPropertyCondition
  323.     {
  324.         [default] interface IMetaPropertyCondition;
  325.     };
  326.     [
  327.         object,
  328.         uuid(59745450-F0F4-4B3F-B49E-55664E425CF6),
  329.         dual,
  330.         helpstring("IService Interface"),
  331.         pointer_default(unique)
  332.     ]
  333.     interface IService : IDispatch
  334.     {
  335.         [propget, id(didTuneRequest), helpstring("property TuneRequest")] HRESULT TuneRequest([out, retval] IUnknown * *ppunk);
  336.         [propputref, id(didTuneRequest), helpstring("property TuneRequest")] HRESULT TuneRequest([in] IUnknown  *punk);
  337.         [propget, id(didID), helpstring("property ID")] HRESULT ID([out, retval] long *pVal);
  338.         [propget, id(didStartTime), helpstring("property StartTime")] HRESULT StartTime([out, retval] DATE *pdt);
  339.         [propput, id(didStartTime), helpstring("property StartTime")] HRESULT StartTime([in] DATE dt);
  340.         [propget, id(didEndTime), helpstring("property EndTime")] HRESULT EndTime([out, retval] DATE *pdt);
  341.         [propput, id(didEndTime), helpstring("property EndTime")] HRESULT EndTime([in] DATE dt);
  342.         [propget, id(didProviderName), helpstring("property ProviderName")] HRESULT ProviderName([out, retval] BSTR *pbstrName);
  343.         [propput, id(didProviderName), helpstring("property ProviderName")] HRESULT ProviderName([in] BSTR bstrName);
  344.         [propget, id(didProviderNetworkName), helpstring("property ProviderNetworkName")] HRESULT ProviderNetworkName([out, retval] BSTR *pbstrName);
  345.         [propput, id(didProviderNetworkName), helpstring("property ProviderNetworkName")] HRESULT ProviderNetworkName([in] BSTR bstrName);
  346.         [propget, id(didProviderDescription), helpstring("property ProviderDescription")] HRESULT ProviderDescription([out, retval] BSTR *pbstrDesc);
  347.         [propput, id(didProviderDescription), helpstring("property ProviderDescription")] HRESULT ProviderDescription([in] BSTR bstrDescr);
  348.         [propget, id(didMetaProperties), helpstring("property MetaProperties")] HRESULT MetaProperties([out, retval] IMetaProperties * *pVal);
  349.         [propget, id(didSchedEntries), helpstring("property ScheduleEntries")] HRESULT ScheduleEntries([out, retval] IScheduleEntries * *pVal);
  350.     };
  351.     [
  352.         object,
  353.         uuid(D3517044-B747-42C0-AFD5-31265ABA4977),
  354.         dual,
  355.         helpstring("IServices Interface"),
  356.         pointer_default(unique)
  357.     ]
  358.     interface IServices : IDispatch
  359.     {
  360.         [propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  361.         [propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT varIndex, [out, retval] IService * *pVal);
  362.         [propget, id(didChannelLineups), helpstring("property ChannelLineups")] HRESULT ChannelLineups([out, retval] IChannelLineups * *pVal);
  363.         [id(didRemove), helpstring("method Remove")] HRESULT Remove(VARIANT varIndex);
  364.         [propget, id(didItemWithID), helpstring("property ItemWithID")] HRESULT ItemWithID(long id, [out, retval] IService * *pVal);
  365.         [propget, id(didItemWithProviderName), helpstring("property ItemWithProviderName")] HRESULT ItemWithProviderName(BSTR bstrProviderName, [out, retval] IService * *pVal);
  366.         [propget, id(didItemsWithMetaProp), helpstring("property ItemsWithMetaProperty")] HRESULT ItemsWithMetaProperty(IMetaProperty *pprop, [out, retval] IServices * *ppservices);
  367.         [propget, id(didItemsWithCond), helpstring("property ItemsWithMetaPropertyCond")] HRESULT ItemsWithMetaPropertyCond(IMetaPropertyCondition *pcond, [out, retval] IServices * *ppservices);
  368.         [propget, id(didAddNew), helpstring("property AddNew")] HRESULT AddNew(IUnknown *punkTuneRequest, BSTR bstrProviderName, BSTR bstrProviderDescription, BSTR bstrProviderNetworkName, DATE dtStart, DATE dtEnd, [out, retval] IService * *pVal);
  369.         [propget, id(didItemsInTimeRange), helpstring("property ItemsInTimeRange")] HRESULT ItemsInTimeRange(DATE dtStart, DATE dtEnd, [out, retval] IServices * *pVal);
  370.         [id(didRemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
  371.         [id(didUnreferencedItems), helpstring("method UnreferencedItems")] HRESULT UnreferencedItems([out, retval] IServices **ppservices);
  372.  
  373.         [propget, id(didItemsByKey), helpstring("property ItemsByKey")] HRESULT ItemsByKey([in] IMetaPropertyType *pproptype, [in] IGuideDataProvider *pprovider, [in] long idLang, [in] long vt, [out, retval] IServices * *ppservices);
  374.         [propget, id(didItemWithKey), helpstring("property ItemWithKey")] HRESULT ItemWithKey(VARIANT varIndex, [out, retval] IService * *ppservice);
  375.         [id(didResync), helpstring("method Resync")] HRESULT Resync();
  376.     };
  377.  
  378.     [
  379.         uuid(C4001F96-2DEE-4C33-B807-F829889A8CCD),
  380.         helpstring("GuideStore Class")
  381.     ]
  382.     coclass GuideStore
  383.     {
  384.         [default] interface IGuideStore;
  385.     };
  386.     [
  387.         uuid(957D8D57-32B1-4BE3-8E37-EC8849F16815),
  388.         helpstring("Service Class")
  389.     ]
  390.     coclass Service
  391.     {
  392.         [default] interface IService;
  393.     };
  394.     [
  395.         uuid(CCFB9EC5-E28E-4DE1-BD07-1C79303DE0A0),
  396.         helpstring("IServicesEvents Interface")
  397.     ]
  398.     dispinterface IServicesEvents
  399.     {
  400.         properties:
  401.         methods:
  402.         [id(didItemAdded), helpstring("method ItemAdded")] HRESULT ItemAdded(IService *pservice);
  403.         [id(didItemRemoved), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] long idObj);
  404.         [id(didItemChanged), helpstring("method ItemChanged")] HRESULT ItemChanged(IService *pservice);
  405.         [id(didItemsChanged), helpstring("method ItemsChanged")] HRESULT ItemsChanged();
  406.     };
  407.     [
  408.         object,
  409.         uuid(FC91783E-5703-4319-A5B1-19555059559C),
  410.         dual,
  411.         helpstring("IProgram Interface"),
  412.         pointer_default(unique)
  413.     ]
  414.     interface IProgram : IDispatch
  415.     {
  416.         [propget, id(didID), helpstring("property ID")] HRESULT ID([out, retval] long *pVal);
  417.         [propget, id(didMetaProperties), helpstring("property MetaProperties")] HRESULT MetaProperties([out, retval] IMetaProperties * *pVal);
  418.         [propget, id(didSchedEntries), helpstring("property ScheduleEntries")] HRESULT ScheduleEntries([out, retval] IScheduleEntries * *pVal);
  419.         [propget, id(didTitle), helpstring("property Title")] HRESULT Title([out, retval] BSTR *pVal);
  420.         [propput, id(didTitle), helpstring("property Title")] HRESULT Title([in] BSTR newVal);
  421.         [propget, id(didDescription), helpstring("property Description")] HRESULT Description([out, retval] BSTR *pVal);
  422.         [propput, id(didDescription), helpstring("property Description")] HRESULT Description([in] BSTR newVal);
  423.         [propget, id(didCopyrightDate), helpstring("property CopyrightDate")] HRESULT CopyrightDate([out, retval] DATE *pVal);
  424.         [propput, id(didCopyrightDate), helpstring("property CopyrightDate")] HRESULT CopyrightDate([in] DATE newVal);
  425.     };
  426.     [
  427.         object,
  428.         uuid(8786250A-8EF8-4A51-B80A-643CCF835DB6),
  429.         dual,
  430.         helpstring("IPrograms Interface"),
  431.         pointer_default(unique)
  432.     ]
  433.     interface IPrograms : IDispatch
  434.     {
  435.         [propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  436.         [propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT varIndex, [out, retval] IProgram * *pVal);
  437.         [propget, id(didItemWithID), helpstring("property ItemWithID")] HRESULT ItemWithID(long id, [out, retval] IProgram * *pVal);
  438.         [propget, id(didItemsWithMetaProp), helpstring("property ItemsWithMetaProperty")] HRESULT ItemsWithMetaProperty(IMetaProperty *pprop, [out, retval] IPrograms * *pVal);
  439.         [propget, id(didItemsWithCond), helpstring("property ItemsWithMetaPropertyCond")] HRESULT ItemsWithMetaPropertyCond(IMetaPropertyCondition *pcond, [out, retval] IPrograms * *pVal);
  440.         [propget, id(didAddNew), helpstring("property AddNew")] HRESULT AddNew([out, retval] IProgram * *ppprog);
  441.         [id(didUnreferencedItems), helpstring("method UnreferencedItems")] HRESULT UnreferencedItems([out, retval] IPrograms **ppprogs);
  442.         [id(didRemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
  443.         [id(didRemove), helpstring("method Remove")] HRESULT Remove(VARIANT varIndex);
  444.  
  445.         [propget, id(didItemsByKey), helpstring("property ItemsByKey")] HRESULT ItemsByKey([in] IMetaPropertyType *pproptype, [in] IGuideDataProvider *pprovider, [in] long idLang, [in] long vt, [out, retval] IPrograms * *ppprogs);
  446.         [propget, id(didItemWithKey), helpstring("property ItemWithKey")] HRESULT ItemWithKey(VARIANT varIndex, [out, retval] IProgram * *ppprog);
  447.         [id(didResync), helpstring("method Resync")] HRESULT Resync();
  448.     };
  449.  
  450.     [
  451.         uuid(43F457D2-C955-48E2-91AD-B91C9154C613),
  452.         helpstring("Services Class")
  453.     ]
  454.     coclass Services
  455.     {
  456.         [default] interface IServices;
  457.         [default, source] dispinterface IServicesEvents;
  458.     };
  459.     [
  460.         uuid(C51F670A-7D1A-494E-931D-886BFDB2B438),
  461.         helpstring("Program Class")
  462.     ]
  463.     coclass Program
  464.     {
  465.         [default] interface IProgram;
  466.     };
  467.     [
  468.         uuid(9AB9E463-1EC4-4D6B-AC80-5238561918EE),
  469.         helpstring("IProgramsEvents Interface")
  470.     ]
  471.     dispinterface IProgramsEvents
  472.     {
  473.         properties:
  474.         methods:
  475.         [id(didItemAdded), helpstring("method ItemAdded")] HRESULT ItemAdded(IProgram *pprog);
  476.         [id(didItemRemoved), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] long idObj);
  477.         [id(didItemChanged), helpstring("method ItemChanged")] HRESULT ItemChanged(IProgram *pprog);
  478.         [id(didItemsChanged), helpstring("method ItemsChanged")] HRESULT ItemsChanged();
  479.     };
  480.     [
  481.         object,
  482.         uuid(6C46F789-2156-4AF0-97D7-38D99E2C9160),
  483.         dual,
  484.         helpstring("IScheduleEntry Interface"),
  485.         pointer_default(unique)
  486.     ]
  487.     interface IScheduleEntry : IDispatch
  488.     {
  489.         [propget, id(didID), helpstring("property ID")] HRESULT ID([out, retval] long *pVal);
  490.         [propget, id(didService), helpstring("property Service")] HRESULT Service([out, retval] IService * *ppservice);
  491.         [propputref, id(didService), helpstring("property Service")] HRESULT Service([in] IService * pservice);
  492.         [propget, id(didProgram), helpstring("property Program")] HRESULT Program([out, retval] IProgram * *ppprog);
  493.         [propputref, id(didProgram), helpstring("property Program")] HRESULT Program([in] IProgram * pprog);
  494.         [propget, id(didMetaProperties), helpstring("property MetaProperties")] HRESULT MetaProperties([out, retval] IMetaProperties * *pVal);
  495.         [propget, id(didStartTime), helpstring("property StartTime")] HRESULT StartTime([out, retval] DATE *pdt);
  496.         [propput, id(didStartTime), helpstring("property StartTime")] HRESULT StartTime([in] DATE dt);
  497.         [propget, id(didEndTime), helpstring("property EndTime")] HRESULT EndTime([out, retval] DATE *pdt);
  498.         [propput, id(didEndTime), helpstring("property EndTime")] HRESULT EndTime([in] DATE dt);
  499.         [propget, id(didLength), helpstring("property Length")] HRESULT Length([out, retval] long *pVal);
  500.     };
  501.     [
  502.         object,
  503.         uuid(E5FDD9C4-8E60-4BEB-BBC8-93BE39C75BAA),
  504.         dual,
  505.         helpstring("IScheduleEntries Interface"),
  506.         pointer_default(unique)
  507.     ]
  508.     interface IScheduleEntries : IDispatch
  509.     {
  510.         [propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  511.         [propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT varIndex, [out, retval] IScheduleEntry * *pVal);
  512.         [propget, id(didItemWithServiceAtTime), helpstring("property ItemWithServiceAtTime")] HRESULT ItemWithServiceAtTime(IService *pservice, DATE dt, [out, retval] IScheduleEntry * *pVal);
  513.         [propget, id(didItemsWithService), helpstring("property ItemsWithService")] HRESULT ItemsWithService(IService *pservice, [out, retval] IScheduleEntries **ppschedentries);
  514.         [propget, id(didItemsWithMetaProp), helpstring("property ItemsWithMetaProperty")] HRESULT ItemsWithMetaProperty(IMetaProperty *pprop, [out, retval] IScheduleEntries * *pVal);
  515.         [propget, id(didItemsWithCond), helpstring("property ItemsWithMetaPropertyCond")] HRESULT ItemsWithMetaPropertyCond(IMetaPropertyCondition *pcond, [out, retval] IScheduleEntries * *pVal);
  516.         [propget, id(didAddNew), helpstring("property AddNew")] HRESULT AddNew(DATE dtStart, DATE dtEnd, IService *pservice, IProgram *pprog, [out, retval] IScheduleEntry * *pVal);
  517.         [id(didRemove), helpstring("method Remove")] HRESULT Remove(VARIANT varIndex);
  518.         [id(didRemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
  519.         [propget, id(didItemsInTimeRange), helpstring("property ItemsInTimeRange")] HRESULT ItemsInTimeRange(DATE dtStart, DATE dtEnd, [out, retval] IScheduleEntries * *pVal);
  520.  
  521.         [propget, id(didItemsByKey), helpstring("property ItemsByKey")] HRESULT ItemsByKey([in] IMetaPropertyType *pproptype, [in] IGuideDataProvider *pprovider, [in] long idLang, [in] long vt, [out, retval] IScheduleEntries * *ppschedentries);
  522.         [propget, id(didItemWithKey), helpstring("property ItemWithKey")] HRESULT ItemWithKey(VARIANT varIndex, [out, retval] IScheduleEntry * *ppschedentry);
  523.         [id(didResync), helpstring("method Resync")] HRESULT Resync();
  524.     };
  525.  
  526.     [
  527.         uuid(16C9C579-B3F4-4C94-88EC-A65EA0B839E7),
  528.         helpstring("Programs Class")
  529.     ]
  530.     coclass Programs
  531.     {
  532.         [default] interface IPrograms;
  533.         [default, source] dispinterface IProgramsEvents;
  534.     };
  535.     [
  536.         uuid(AFEBCA90-0FF9-48BD-BC98-95477A631BBB),
  537.         helpstring("ScheduleEntry Class")
  538.     ]
  539.     coclass ScheduleEntry
  540.     {
  541.         [default] interface IScheduleEntry;
  542.     };
  543.     [
  544.         uuid(32692A48-F4B5-4826-BE88-E7F8ED9E65DC),
  545.         helpstring("IScheduleEntriesEvents Interface")
  546.     ]
  547.     dispinterface IScheduleEntriesEvents
  548.     {
  549.         properties:
  550.         methods:
  551.         [id(didItemAdded), helpstring("method ItemAdded")] HRESULT ItemAdded(IScheduleEntry *pschedentry);
  552.         [id(didItemRemoved), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] long idObj);
  553.         [id(didItemChanged), helpstring("method ItemChanged")] HRESULT ItemChanged(IScheduleEntry *pschedentry);
  554.         [id(didItemsChanged), helpstring("method ItemsChanged")] HRESULT ItemsChanged();
  555.     };
  556.     [
  557.         object,
  558.         uuid(ED7DF8CD-4861-4389-8149-8EDE63A51F38),
  559.         dual,
  560.         helpstring("IChannel Interface"),
  561.         pointer_default(unique)
  562.     ]
  563.     interface IChannel : IDispatch
  564.     {
  565.         [propget, id(didName), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
  566.         [propput, id(didName), helpstring("property Name")] HRESULT Name([in] BSTR newVal);
  567.         [propget, id(didService), helpstring("property Service")] HRESULT Service([out, retval] IService * *ppservice);
  568.         [propputref, id(didService), helpstring("property Service")] HRESULT Service([in] IService *pservice);
  569.         [propget, id(didMetaProperties), helpstring("property MetaProperties")] HRESULT MetaProperties([out, retval] IMetaProperties * *pVal);
  570.         [propget, id(didChannelLineups), helpstring("property ChannelLineups")] HRESULT ChannelLineups([out, retval] IChannelLineups * *pVal);
  571.     };
  572.  
  573.     [
  574.         uuid(226D6AD0-7026-494F-BCAD-FAB087E67290),
  575.         helpstring("ScheduleEntries Class")
  576.     ]
  577.     coclass ScheduleEntries
  578.     {
  579.         [default] interface IScheduleEntries;
  580.         [default, source] dispinterface IScheduleEntriesEvents;
  581.     };
  582.     [
  583.         object,
  584.         uuid(3BAE53BD-70F0-4C7B-8C9E-E0317FFF8D79),
  585.         dual,
  586.         helpstring("IChannels Interface"),
  587.         pointer_default(unique)
  588.     ]
  589.     interface IChannels : IDispatch
  590.     {
  591.         [propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  592.         [propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT varIndex, [out, retval] IChannel * *pVal);
  593.         [id(didAddAt), helpstring("method AddAt")] HRESULT AddAt(IChannel *pchan, long index);
  594.         [id(didRemove), helpstring("method Remove")] HRESULT Remove(VARIANT index);
  595.         [propget, id(didAddNewAt), helpstring("property AddNewAt")] HRESULT AddNewAt(IService *pservice, BSTR bstrName, long index, [out, retval] IChannel * *pVal);
  596.         [propget, id(didItemWithName), helpstring("property ItemWithName")] HRESULT ItemWithName(BSTR bstrName, [out, retval] IChannel **ppchan);
  597.         [propget, id(didItemsWithCond), helpstring("property ItemsWithMetaPropertyCond")] HRESULT ItemsWithMetaPropertyCond(IMetaPropertyCondition *pcond, [out, retval] IChannels * *ppchannels);
  598.         [id(didRemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
  599.         [id(didUnreferencedItems), helpstring("method UnreferencedItems")] HRESULT UnreferencedItems([out, retval] IChannels **ppchans);
  600.  
  601.         [propget, id(didItemsByKey), helpstring("property ItemsByKey")] HRESULT ItemsByKey([in] IMetaPropertyType *pproptype, [in] IGuideDataProvider *pprovider, [in] long idLang, [in] long vt, [out, retval] IChannels * *ppchans);
  602.         [propget, id(didItemWithKey), helpstring("property ItemWithKey")] HRESULT ItemWithKey(VARIANT varIndex, [out, retval] IChannel * *ppchan);
  603.         [id(didResync), helpstring("method Resync")] HRESULT Resync();
  604.     };
  605.  
  606.     [
  607.         uuid(83568B75-1FCC-4853-957A-9CF617B350A3),
  608.         helpstring("Channel Class")
  609.     ]
  610.     coclass Channel
  611.     {
  612.         [default] interface IChannel;
  613.     };
  614.     [
  615.         uuid(6E945C62-0AB7-4D89-BB9E-212502FC7C88),
  616.         helpstring("IChannelsEvents Interface")
  617.     ]
  618.     dispinterface IChannelsEvents
  619.     {
  620.         properties:
  621.         methods:
  622.         [id(didItemAdded), helpstring("method ItemAdded")] HRESULT ItemAdded(IChannel *pchan);
  623.         [id(didItemRemoved), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] long idObj);
  624.         [id(didItemChanged), helpstring("method ItemChanged")] HRESULT ItemChanged(IChannel *pchan);
  625.         [id(didItemsChanged), helpstring("method ItemsChanged")] HRESULT ItemsChanged();
  626.     };
  627.     [
  628.         object,
  629.         uuid(AB3FF8DB-C718-4ABD-98DE-E14DC74F4872),
  630.         dual,
  631.         helpstring("IChannelLineup Interface"),
  632.         pointer_default(unique)
  633.     ]
  634.     interface IChannelLineup : IDispatch
  635.     {
  636.         [propget, id(didName), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
  637.         [propput, id(didName), helpstring("property Name")] HRESULT Name([in] BSTR newVal);
  638.         [propget, id(didChannels), helpstring("property Channels")] HRESULT Channels([out, retval] IChannels * *pVal);
  639.         [propget, id(didMetaProperties), helpstring("property MetaProperties")] HRESULT MetaProperties([out, retval] IMetaProperties * *pVal);
  640.     };
  641.  
  642.     [
  643.         uuid(73AF9077-4F6D-4FCB-A9E2-FDFBB9AE5310),
  644.         helpstring("Channels Class")
  645.     ]
  646.     coclass Channels
  647.     {
  648.         [default] interface IChannels;
  649.         [default, source] dispinterface IChannelsEvents;
  650.     };
  651.     [
  652.         object,
  653.         uuid(2F78C3E1-98FE-4526-A0A7-A621025AEFF6),
  654.         dual,
  655.         helpstring("IChannelLineups Interface"),
  656.         pointer_default(unique)
  657.     ]
  658.     interface IChannelLineups : IDispatch
  659.     {
  660.         [propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  661.         [propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT varIndex, [out, retval] IChannelLineup **ppchanlineup);
  662.         [propget, id(didAddNew), helpstring("property AddNew")] HRESULT AddNew(BSTR bstrName, [out, retval] IChannelLineup * *pVal);
  663.         [id(didRemove), helpstring("method Remove")] HRESULT Remove(VARIANT varIndex);
  664.         [id(didRemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
  665.         [id(didUnreferencedItems), helpstring("method UnreferencedItems")] HRESULT UnreferencedItems([out, retval] IChannelLineups **ppchanlineups);
  666.  
  667.         [propget, id(didItemsByKey), helpstring("property ItemsByKey")] HRESULT ItemsByKey([in] IMetaPropertyType *pproptype, [in] IGuideDataProvider *pprovider, [in] long idLang, [in] long vt, [out, retval] IChannelLineups * *ppchanlineups);
  668.         [propget, id(didItemWithKey), helpstring("property ItemWithKey")] HRESULT ItemWithKey(VARIANT varIndex, [out, retval] IChannelLineup * *ppchanlineup);
  669.         [id(didResync), helpstring("method Resync")] HRESULT Resync();
  670.     };
  671.  
  672.     [
  673.         uuid(8F86A876-E12A-4159-9647-EAFE0288014F),
  674.         helpstring("ChannelLineup Class")
  675.     ]
  676.     coclass ChannelLineup
  677.     {
  678.         [default] interface IChannelLineup;
  679.     };
  680.     [
  681.         uuid(1E3971E3-CCDC-445D-AE97-A15D5D4A40C9),
  682.         helpstring("IChannelLineupsEvents Interface")
  683.     ]
  684.     dispinterface IChannelLineupsEvents
  685.     {
  686.         properties:
  687.         methods:
  688.         [id(didItemAdded), helpstring("method ItemAdded")] HRESULT ItemAdded(IChannelLineup *pchanlineup);
  689.         [id(didItemRemoved), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] long idObj);
  690.         [id(didItemChanged), helpstring("method ItemChanged")] HRESULT ItemChanged(IChannelLineup *pchanlineup);
  691.         [id(didItemsChanged), helpstring("method ItemsChanged")] HRESULT ItemsChanged();
  692.     };
  693.     [
  694.         object,
  695.         uuid(E8F1FBD5-4E44-4C26-B3D2-2C1C6999D611),
  696.         dual,
  697.         helpstring("IObjects Interface"),
  698.         pointer_default(unique)
  699.     ]
  700.     interface IObjects : IUnknown
  701.     {
  702.         [propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  703.         [propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT varIndex, [out, retval] IUnknown * *ppunk);
  704.         [propget, id(didItemsWithType), helpstring("property ItemsWithType")] HRESULT ItemsWithType(BSTR bstrCLSID, [out, retval] IObjects * *pVal);
  705.         [propget, id(didItemWithIID), helpstring("property ItemWithID")] HRESULT ItemWithID(long id, [out, retval] IUnknown * *ppunk);
  706.         [propget, id(didItemsWithMetaProp), helpstring("property ItemsWithMetaProperty")] HRESULT ItemsWithMetaProperty(IMetaProperty *pprop, [out, retval] IObjects * *pVal);
  707.         [propget, id(didItemsWithCond), helpstring("property ItemsWithMetaPropertyCond")] HRESULT ItemsWithMetaPropertyCond(IMetaPropertyCondition *ppropcond, [out, retval] IObjects * *pVal);
  708.         [id(didAddAt), helpstring("method AddAt")] HRESULT AddAt(IUnknown *punk, long index);
  709.         [propget, id(didAddNew), helpstring("property AddNew")] HRESULT AddNew([out, retval] IUnknown * *ppunk);
  710.         [id(didRemove), helpstring("method Remove")] HRESULT Remove(VARIANT varIndex);
  711.         [id(didRemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
  712.         [propget, id(didAddNewAt), helpstring("property AddNewAt")] HRESULT AddNewAt([in] long index, [out, retval] IUnknown * *ppunk);
  713.         [propget, id(didItemsInTimeRange), helpstring("property ItemsInTimeRange")] HRESULT ItemsInTimeRange(DATE dtStart, DATE dtEnd, [out, retval] IObjects * *pVal);
  714.         [propget, id(didItemsRelToBy), helpstring("property ItemsRelatedToBy")] HRESULT ItemsRelatedToBy([in] IUnknown *pobj, [in] IMetaPropertyType *pproptype, [out, retval] IObjects * *ppobjs);
  715.         [propget, id(didItemsInvRelToBy), helpstring("property ItemsInverseRelatedToBy")] HRESULT ItemsInverseRelatedToBy([in] IUnknown *pobj, [in] IMetaPropertyType *pproptype, [out, retval] IObjects * *ppobjs);
  716.         [id(didUnreferencedItems), helpstring("method UnreferencedItems")] HRESULT UnreferencedItems([out, retval] IObjects **ppobjs);
  717.  
  718.         [propget, id(didItemsByKey), helpstring("property ItemsByKey")] HRESULT ItemsByKey([in] IMetaPropertyType *pproptype, [in] IGuideDataProvider *pprovider, [in] long idLang, [in] long vt, [out, retval] IObjects * *pVal);
  719.         [propget, id(didItemWithKey), helpstring("property ItemWithKey")] HRESULT ItemWithKey(VARIANT varIndex, [out, retval] IUnknown * *ppunk);
  720.         [id(didResync), helpstring("method Resync")] HRESULT Resync();
  721.     };
  722.  
  723.     [
  724.         uuid(8520EF80-1C19-4CB0-83FA-67DB59CC9AE4),
  725.         helpstring("ChannelLineups Class")
  726.     ]
  727.     coclass ChannelLineups
  728.     {
  729.         [default] interface IChannelLineups;
  730.         [default, source] dispinterface IChannelLineupsEvents;
  731.     };
  732.     [
  733.         uuid(83375A19-A098-42CF-9206-EE36FE48C637),
  734.         helpstring("IObjectsNotifications Interface")
  735.     ]
  736.     interface IObjectsNotifications : IUnknown
  737.     {
  738.         [id(didItemAdded), helpstring("method Notify_ItemAdded")] HRESULT Notify_ItemAdded(IUnknown *punk);
  739.         [id(didItemRemoved), helpstring("method Notify_ItemRemoved")] HRESULT Notify_ItemRemoved([in] long idObj);
  740.         [id(didItemChanged), helpstring("method Notify_ItemChanged")] HRESULT Notify_ItemChanged(IUnknown *punk);
  741.         [id(didItemsChanged), helpstring("method Notify_ItemsChanged")] HRESULT Notify_ItemsChanged();
  742.     };
  743.  
  744.     [
  745.         uuid(B485447D-B180-420F-B2A5-E7BBCEA07EAD),
  746.         aggregatable,
  747.         helpstring("Objects Class")
  748.     ]
  749.     coclass Objects
  750.     {
  751.         [default] interface IObjects;
  752.     };
  753.     [
  754.         object,
  755.         uuid(4B16049B-E548-4868-B303-D501340E2CB1),
  756.         dual,
  757.         helpstring("IGuideDataProvider Interface"),
  758.         pointer_default(unique)
  759.     ]
  760.     interface IGuideDataProvider : IDispatch
  761.     {
  762.         [propget, id(didID), helpstring("property ID")] HRESULT ID([out, retval] long *pVal);
  763.         [propget, id(didName), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pbstrName);
  764.         [propget, id(didDescription), helpstring("property Description")] HRESULT Description([out, retval] BSTR *pbstrDesc);
  765.         [propput, id(didDescription), helpstring("property Description")] HRESULT Description([in] BSTR bstrDesc);
  766.         [propget, id(didMetaProperties), helpstring("property MetaProperties")] HRESULT MetaProperties([out, retval] IMetaProperties * *pVal);
  767.     };
  768.     [
  769.         object,
  770.         uuid(CA9DE996-637C-47BF-BC10-CF956BE298EC),
  771.         dual,
  772.         helpstring("IGuideDataProviders Interface"),
  773.         pointer_default(unique)
  774.     ]
  775.     interface IGuideDataProviders : IDispatch
  776.     {
  777.         [propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *plCount);
  778.         [propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT varIndex, [out, retval] IGuideDataProvider * *ppdataprovider);
  779.         [propget, id(didItemWithID), helpstring("property ItemWithID")] HRESULT ItemWithID(long id, [out, retval] IGuideDataProvider * *ppdataprovider);
  780.         [propget, id(didItemWithName), helpstring("property ItemWithName")] HRESULT ItemWithName(BSTR bstrName, [out, retval] IGuideDataProvider **ppdataprovider);
  781.         [propget, id(didItemsWithMetaProp), helpstring("property ItemsWithMetaProperty")] HRESULT ItemsWithMetaProperty(IMetaProperty *pprop, [out, retval] IGuideDataProviders * *ppdataproviders);
  782.         [propget, id(didItemsWithCond), helpstring("property ItemsWithMetaPropertyCond")] HRESULT ItemsWithMetaPropertyCond(IMetaPropertyCondition *pcond, [out, retval] IGuideDataProviders * *ppdataproviders);
  783.         [propget, id(didAddNew), helpstring("property AddNew")] HRESULT AddNew([in] BSTR bstrName, [out, retval] IGuideDataProvider * *ppdataprovider);
  784.  
  785.         [propget, id(didItemsByKey), helpstring("property ItemsByKey")] HRESULT ItemsByKey([in] IMetaPropertyType *pproptype, [in] IGuideDataProvider *pprovider, [in] long idLang, [in] long vt, [out, retval] IGuideDataProviders * *ppproviders);
  786.         [propget, id(didItemWithKey), helpstring("property ItemWithKey")] HRESULT ItemWithKey(VARIANT varIndex, [out, retval] IGuideDataProvider * *ppprovider);
  787.         [id(didResync), helpstring("method Resync")] HRESULT Resync();
  788.     };
  789.     [
  790.         uuid(3CFC7A68-76E9-4F1D-8ECE-08C44F4FFC3E),
  791.         helpstring("GuideDataProvider Class")
  792.     ]
  793.     coclass GuideDataProvider
  794.     {
  795.         [default] interface IGuideDataProvider;
  796.     };
  797.     [
  798.         uuid(850A646E-140B-43B0-A243-20CC6B9FA8BC),
  799.         helpstring("IGuideDataProvidersEvents Interface")
  800.     ]
  801.     dispinterface IGuideDataProvidersEvents
  802.     {
  803.         properties:
  804.         methods:
  805.         [id(didItemAdded), helpstring("method ItemAdded")] HRESULT ItemAdded(IChannelLineup *pchanlineup);
  806.         [id(didItemRemoved), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] long idObj);
  807.         [id(didItemChanged), helpstring("method ItemChanged")] HRESULT ItemChanged(IChannelLineup *pchanlineup);
  808.         [id(didItemsChanged), helpstring("method ItemsChanged")] HRESULT ItemsChanged();
  809.     };
  810.  
  811.     [
  812.         uuid(6E30077E-2E0B-4D4A-92B0-CDB5E5116E3B),
  813.         helpstring("GuideDataProviders Class")
  814.     ]
  815.     coclass GuideDataProviders
  816.     {
  817.         [default] interface IGuideDataProviders;
  818.         [default, source] dispinterface IGuideDataProvidersEvents;
  819.     };
  820. };
  821.